package com.lingyu.jsjx.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 教学心旨对象 jsjx_teacher_tenet
 * 
 * @author ruoyi
 * @date 2025-08-07
 */
@TableName("jsjx_teacher_tenet")
public class TeacherTenet extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 心旨id（主键） */
    @TableId(type = IdType.AUTO)
    private Long tenetId;

    /** 教学经历描述 */
    @Excel(name = "教学经历描述")
    @NotBlank(message = "教学经历描述不能为空")
    private String teachingExperience;

    /** 个人教学特色 */
    @Excel(name = "个人教学特色")
    @NotBlank(message = "个人教学特色不能为空")
    private String teachingFeatures;

    /** 教育理念描述 */
    @Excel(name = "教育理念描述")
    @NotBlank(message = "教育理念描述不能为空")
    private String educationalPhilosophy;

    /** 教育目标起始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "教育目标起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    @NotNull(message = "教育目标起始日期不能为空")
    private Date goalStartDate;

    /** 教育目标结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "教育目标结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    @NotNull(message = "教育目标结束日期不能为空")
    private Date goalEndDate;

    /** 教育目标描述 */
    @Excel(name = "教育目标描述")
    @NotBlank(message = "教育目标描述不能为空")
    private String educationalGoals;

    public void setTenetId(Long tenetId)
    {
        this.tenetId = tenetId;
    }

    public Long getTenetId() 
    {
        return tenetId;
    }
    public void setTeachingExperience(String teachingExperience) 
    {
        this.teachingExperience = teachingExperience;
    }

    public String getTeachingExperience() 
    {
        return teachingExperience;
    }
    public void setTeachingFeatures(String teachingFeatures) 
    {
        this.teachingFeatures = teachingFeatures;
    }

    public String getTeachingFeatures() 
    {
        return teachingFeatures;
    }
    public void setEducationalPhilosophy(String educationalPhilosophy) 
    {
        this.educationalPhilosophy = educationalPhilosophy;
    }

    public String getEducationalPhilosophy() 
    {
        return educationalPhilosophy;
    }
    public void setGoalStartDate(Date goalStartDate) 
    {
        this.goalStartDate = goalStartDate;
    }

    public Date getGoalStartDate() 
    {
        return goalStartDate;
    }
    public void setGoalEndDate(Date goalEndDate) 
    {
        this.goalEndDate = goalEndDate;
    }

    public Date getGoalEndDate() 
    {
        return goalEndDate;
    }
    public void setEducationalGoals(String educationalGoals) 
    {
        this.educationalGoals = educationalGoals;
    }

    public String getEducationalGoals() 
    {
        return educationalGoals;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("tenetId", getTenetId())
            .append("teachingExperience", getTeachingExperience())
            .append("teachingFeatures", getTeachingFeatures())
            .append("educationalPhilosophy", getEducationalPhilosophy())
            .append("goalStartDate", getGoalStartDate())
            .append("goalEndDate", getGoalEndDate())
            .append("educationalGoals", getEducationalGoals())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
